With a continual increase in interactive experience requirements from users, development of augmented reality applications has greatly increased. One of the most important technologies in augmented reality systems is three-dimensional registration. Three-dimensional registration involves computing transformational relationships between a world coordinate system and a screen coordinate system to thereby compute a position and orientation of a current video-capable equipment and then combining virtual objects with real scenery based on the computed position and orientation of the current video-capable equipment.
Conventional methods for performing three-dimensional registration computations include: 1) Using Scale Invariant Feature Transform (SIFT) and Speed Up Robust Feature (SURF), methods to match feature points from the reference image and the current image obtained from the video-capable equipment. However, this type of method involves a relatively large volume of computations. 2) Using a modeling method such as Random Ferns. These types of modeling methods, however, occupy a relatively large amount of memory.
An example of research being performed on augmented reality registration includes Chinese patent “A marker point-based augmented reality three-dimensional registration method and system” (App. no. 20071011266.6). This method includes projecting marker points which are invisible to the naked eye onto a bearing surface of a real environment. Then, the projected invisible marker points are filmed using a video camera having an invisible light filter. Registration is performed using two-dimensional coordinate data acquired from the invisible marker points on a screen. This method has high hardware requirements.
Another example is Chinese patent application “A cloud computing-based natural feature registration method” (app. no. 201110180881.6). This method first extracts sets of natural feature points for reference images. The natural feature points are extracted from image key frames obtained by image-capturing equipment. Then, positions and angles of the image-capturing equipment are calculated based on the results of cloud computing-based natural feature point matching and then three-dimensional registration is performed. This method utilizes a background server and also has high network communication requirements.
In addition, in an image based three-dimensional human-computer interactions, only a few types of items represented by the pictures can be identified when the equipment's computing capability is limited. An example of a natural picture is a trademark. Otherwise, a network is to be utilized with a background server in order to simultaneously identify a plurality of products.
On the other hand, identification code (such as a two-dimensional code or quick response (QR) code) designs are simple, easy to recognize, and standardized. The identification code designs can correspond to a plurality of products. Moreover, the identification code designs entail relatively simple calculations, which can be more easily performed on cell phones and other mobile equipment. In applying a traditional identification code, such as a two-dimensional code, to a cell phone or other mobile equipment, a user scans the two-dimensional code with a cell phone lens or inputs a number or keyword under the two-dimensional code. The user can quickly go online via the cell phone and browse web pages, download images, text, music, and videos, acquire coupons, participate in drawings, and learn about a company's products, all without inputting a uniform resource location (URL) into the cell phone. Thus, one-key Internet access is achieved. In addition, the cell phone can also be used to identify and store business cards, automatically input short messages, acquire public services (such as weather forecasts), and perform electronic map searching and positioning, cell phone reading, and other such functions. Traditional identification code apps only use two-dimensional codes to read certain information. Then the traditional identification code apps use the read information to open additional links, etc.